#ifndef MONO_UTIL_SHA1_H_
#define MONO_UTIL_SHA1_H_


#include <cstdint>
#include <iostream>
#include <string>

namespace mono {

class SHA1
{
public:
    SHA1();
    void update(const std::string &s);
    void update(std::istream &is);
    std::string final();
    static std::string from_file(const std::string &filename);

private:
    uint32_t digest[5];
    std::string buffer;
    uint64_t transforms;
};
}

#endif